//
//  Ext+UIImage.swift
//  web
//
//  Created by 张卓 on 2017/2/8.
//  Copyright © 2017年 ZZ. All rights reserved.
//

import Foundation

extension UIImage {
    //MARK: - 截屏 -> 主Windows内容
    class func screenShot() -> UIImage? {
        //.1 拿到主Windows
        let window = UIApplication.shared.keyWindow!
        //2. 开启上下文
        UIGraphicsBeginImageContext(window.frame.size)
        //3. 把Window上的内容渲染到上下文中
        window.drawHierarchy(in: window.frame, afterScreenUpdates: false)
        
        //4. 从上下文中获取到image
        let image = UIGraphicsGetImageFromCurrentImageContext()
        //5. 关闭上下文
        UIGraphicsEndImageContext()
        return image
    }
    //图片压缩    等比例压缩
    //如果宽度大于 400  就需要压缩处理
     func dealImgScale( width: CGFloat) -> UIImage{
        //如果image的 宽度 大于 400 .就需要压缩
        //小鱼等于400 就直接返回
        if self.size.width <= width {
            return self
        }
        //大于400
        //比例结果
        
        //比例后的高度
        let h = width * self.size.height / self.size.width
        //1. 开启上下文
        UIGraphicsBeginImageContext(CGSize(width: width, height: h))
        // 2 . 把image渲染到上下文中
        self.draw(in: CGRect(x: 0, y: 0, width: width, height: h))
        //3. 从上下文中获取image
        let image = UIGraphicsGetImageFromCurrentImageContext()!
        //4. 关闭上下文
        UIGraphicsEndImageContext()
        //5. 返回image
        return image
    }
    

}
